if (version <= ord(handle2plus)) & (MBpacket(header)[75] = 0) then begin
ocrc := 0;
for i := 1 to 124 do
CalcMBCRC(ocrc, MBpacket(header)[i]);
if ocrc = MBIIHeader(header).crc then begin
if (version = 1) & (start.ftype = macbin_folder_ftype) & ((start.fcreator = OSType(macbin_folder_creator_start)) or (start.fcreator = OSType(macbin_folder_creator_end))) then begin
if start.fcreator = OSType(macbin_folder_creator_start) then
typ := PT_StartBlock
else
typ := PT_EndBlock;
end
else begin
typ := PT_File;
end;
end
else begin { Assume its a valid MacBinary I file }
if (version = 0) & (MBpacket(header)[2] >= 1) & (MBpacket(header)[2] <= 31) then begin
MBpacket(header)[101] := 0; { Zero out the flags low_byte }
total_unpack_len := 0;
second_header_len := 0;
versionII := 129;
minversionII := 129;
crc := 0;
processorID := 0;
end;
end;
end;
end;
ValidateMBHeader := typ;
end;
procedure CatInfo2MBHeader (var pb: CInfoPBRec; var header: MBIIHeader; dtdbr: integer; var comment: str255);